#ifndef __CORE_FILE_H__
#define __CORE_FILE_H__
#include <string>
#include "Vector2.h"
#include "Vector3.h"
#include "Vector4.h"
#include "Matrix3.h"
#include "Matrix4.h"

namespace Core
{
	enum FileOpenMode
	{
		FILE_MODE_READ = 0,
		FILE_MODE_WRITE = 1,
		FILE_MODE_APPEND = 2
	};
	enum FileSeekOrigin
	{
		FILE_SEEK_CUR,
		FILE_SEEK_END,
		FILE_SEEK_SET
	};
	class rtFile
	{
	public:
		rtFile(std::string& fileName);
		virtual ~rtFile(void);

		std::string getName();
		std::string getPath();
		
		virtual int length() const;
		virtual int tell() const;
		virtual int seek(long offset, FileSeekOrigin mode);
		virtual void flush();
		virtual void rewind();

	protected:
		std::string m_Name;
		std::string m_Path;
	};
}
#endif


